﻿using Commons.ReturnData;
using OpenAI.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OpenAI.Domain.IRepositories
{
    public interface IChatTipRepository
    {
        /// <summary>
        /// 获取用户的聊天提示列表
        /// </summary>
        /// <param name="appUserId"></param>
        /// <returns></returns>
        Task<DataResult<ChatTip>> GetChatTipsAsync(Guid appUserId);

        /// <summary>
        /// 删除某条提示
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<SingleResult> DeletedTipByIdAsync(int id);

        /// <summary>
        /// 创建一条提示
        /// </summary>
        /// <param name="chatTip"></param>
        /// <returns></returns>
        Task<SingleResult> CreateTipAsync(ChatTip chatTip);
        /// <summary>
        /// 编辑提示
        /// </summary>
        /// <param name="chatTip"></param>
        /// <returns></returns>
        Task<SingleResult> UpdateTipAsync(ChatTip chatTip);
        /// <summary>
        /// 查找某条提示
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ChatTip?> FindChatTipByIdAsync(int id);

    }
}
